package org.面试题.factoryMethods.Pizza;
/**
 *            pizza ( c )
 *            Methods: ....
 *                         /      \
 *                        /        \
 *    cheEsePizza extends Pizza         GreekPizza  extends Pizza
 *     superMethods:...                     superMethods:...
 *     ownMethode: ...                      ownMethode: ...
 *
 *     普通的没有设计模式的工厂优缺点：比较好理解，简单易操作
 *     缺点是违反了设计模式的cop原则，即 对扩展开放，对修改关闭。就是我们给类增加新的功能的时后，尽量不修改代码，少修改代码
 *
 */
// 抽象类pizza
public abstract class Pizza {
    protected String name;  // pizza名

    public abstract void prepare(); // 准备原材料，不同种类不同，抽象方法

    public  void  bake(){   // 烘烤
        System.out.println(name +  "baking");
    }
    public  void  cut(){    // 切
        System.out.println(name +  "cutting");
    }
    public  void  box(){    // 装
        System.out.println(name + "boxing");
    }
    public void  setName(String name){
        this.name = name;
    }

}
